from appium import webdriver
import yaml
import os
#日志准备
def weixin_appium_desired():
    # 获取当前路径---就算被别的文件调用 获取当前位置
    base_dir = os.path.dirname(__file__) # 获取项目的当前路径（因为路径会变化，使用代码获取）
    #join合并路径
    yaml_path = os.path.join(base_dir, 'weixin_caps.yaml')
    print("配置文件",yaml_path)
    jwfile=open(yaml_path,'r',encoding='utf-8')
    data=yaml.safe_load(jwfile) #加载文件中的配置拼接Capability信息
    desired_caps={}
    desired_caps['platformName']=data['platformName']
    desired_caps['platformVersion']=data['platformVersion']
    desired_caps['deviceName']=data['deviceName']
    #os.path.dirname代表获取当前路径  比如  c：/a/b/c.txt ====>c：/a/b/
    # 两层的话~~再获取上一层路径  也就是 框架路径
    base_dir = os.path.dirname(os.path.dirname(__file__))
    print("项目框架路径",base_dir)
    app_path = os.path.join(base_dir,'app', data['appname'])#完整的被测项目路径
    desired_caps['app']=app_path
    desired_caps['appPackage']=data['appPackage']
    desired_caps['appActivity']=data['appActivity']
    desired_caps['noReset']=data['noReset']
    # 连接appium信息
    driver=webdriver.Remote('http://'+str(data['ip'])+':'+str(data['port'])+'/wd/hub',desired_caps)
    driver.implicitly_wait(4)
    return driver  #结果是能够操作被测项目的驱动
# 单元测试
if __name__ == '__main__':
    weixin_appium_desired()
